package ar.lalosoft.adMat.domain;

import java.util.ArrayList;
import java.util.List;

public class Materia {

	private String nombre;
	private int cod;
	private int creditos;
	private List<Integer> correlativas;
	private boolean electiva;
	
	public Materia(){
		this.nombre = null;
		this.cod = 0;
		this.creditos = 0;
		this.correlativas = null;
	}
	
	public Materia(String string, int cod, int creditos) {
		nombre = string;
		this.cod = cod;
		this.creditos = creditos;
		correlativas = new ArrayList<Integer>();
//		correlativas = Correlatividades.getInstance().getCorrelativas(cod);
		electiva = false;
	}

	public Materia(String nombreMateria, int codigo, int creditos2, boolean b) {
		nombre = nombreMateria;
		this.cod = codigo;
		this.creditos = creditos2;
		correlativas = new ArrayList<Integer>();
//		correlativas = Correlatividades.getInstance().getCorrelativas(cod);
		electiva = b;
	}


	public boolean esCorrelativaDe(int cod) {
		
		return correlativas.contains(cod);
	}
	
	public int getCreditos(){
		return creditos;
	}
	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + cod;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Materia other = (Materia) obj;
		if (cod != other.cod)
			return false;
		return true;
	}


	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public int getCod() {
		return cod;
	}

	public void setCod(int cod) {
		this.cod = cod;
	}
	
	public void setCorrelativas(List<Integer> lista){
		this.correlativas = lista;
	}
	
	public List<Integer> getCorrelativas(){
		return correlativas;
	}
	
	public boolean isElectiva(){
		return electiva;
	}
	

}
